package com.example.aidocengine.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.aidocengine.pojo.entity.PrimaryDeviceTerminology;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface PrimaryDeviceTerminologyMapper extends BaseMapper<PrimaryDeviceTerminology> {
    
    /**
     * 根据设备类型查找术语规则
     */
    List<PrimaryDeviceTerminology> selectByDeviceType(@Param("deviceType") String deviceType);
    
    /**
     * 获取所有有效的一次设备术语模板
     */
    List<PrimaryDeviceTerminology> selectAllActive();
    
    /**
     * 批量插入术语模板数据
     */
    int insertBatch(@Param("terminologyList") List<PrimaryDeviceTerminology> terminologyList);
    
    /**
     * 查询所有设备类型(父记录)
     */
    List<PrimaryDeviceTerminology> selectDeviceTypes();
    
    /**
     * 查询指定设备类型的编写原则(子记录)
     */
    List<PrimaryDeviceTerminology> selectPrinciplesByParentId(@Param("parentId") Long parentId);
    
    /**
     * 查询层级结构数据（包含设备类型及其编写原则）
     */
    List<PrimaryDeviceTerminology> selectHierarchyData();
    
    /**
     * 查询标记删除的数据
     */
    List<PrimaryDeviceTerminology> selectDeletedData();
}